System And Method For Automatically And Graphically Associating Programmatically-Generated Media Item Recommendations Related To A User&#39;s Socially Recommended Media Items

ABSTRACT

A system and method for automatically, programmatically generating media item recommendations on a graphical user interface (GUI) based on a friend media item recommendation selected by a user. For example, a social media item recommendation list comprising one or more social media item recommendations is received. Further, a programmatically-generated media item recommendation list comprising one or more programmatically-generated media item recommendations is received. The social media item recommendation list is displayed in a first area on the user interface. The programmatically-generated media item recommendation list is displayed in a second area on the user interface different from the first area.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is a Continuation application of co-pending U.S. patentapplication Ser. No. 13/076,880 filed Mar. 31, 2011, titled “System AndMethod For Automatically And Graphically AssociatingProgrammatically-Generated Media Item Recommendations Related To AUser's Socially Recommended Media Items,” which is a Continuationapplication of U.S. patent application Ser. No. 11/696,849 filed Apr. 5,2007, titled “System And Method For Automatically And GraphicallyAssociating Programmatically-Generated Media Item RecommendationsRelated To A User's Socially Recommended Media Items,” (now U.S. Pat.No. 8,112,720, issued Feb. 7, 2012), which is commonly owned with thisapplication and is herein incorporated by reference.

FIELD OF THE INVENTION

The present invention relates to a system and method for automaticallyand graphically associating programmatically-generated media itemrecommendations on a user interface based on media items selected from auser's social or “friend” media item recommendation list.

BACKGROUND OF THE INVENTION

In recent years, there has been an enormous increase in the amount ofdigital media available online. Services, such as Apple's iTunes® forexample, enable users to legally purchase and download music. Otherservices, such as Yahoo!® Music Unlimited and RealNetwork's Rhapsody®for example, provide access to millions of songs for a monthlysubscription fee. YouTube® provides users access to video media. As aresult, media items have become much more accessible to consumersworldwide. However, the increased accessibility of media has onlyheightened a long-standing problem for the media industry, which isnamely the issue of linking users with media that matches theirpreferences.

Many companies, technologies, and approaches have emerged to addressthis issue of media recommendation. Media item recommendations may beprovided to users as suggestions based on information about the userand/or their media likes or dislikes, also called preferences. In thismanner, the user is more likely to respond, such as by purchase, tomedia item recommendations. Media item recommendations may be providedeither by service provider companies, or “socially” by the user's online“friends” (typically identified by user id).

In the case of socially or friend recommended media items, the usertypically receives the recommended media items through a clientapplication executing on the user's personal computer or other networkeddevice. The networked device communicates with other networked devicesto receive the friend recommendations. When the friend recommendationsare received, the user can display the recommendations on a graphicaluser interface (GUI). The friend recommendations are typically presentedto the user in the form of a media item table having a plurality ofcolumns, wherein title or other identifying information about the user'smedia items is graphically presented. The media item table may containall of the user's media collection, including recommended items andnon-recommended media items. Recommended media items may be signified bythe user id or name of “friend” or user that recommended the media itemto the user.

It may also be desirable to provide company recommended media items to auser in addition to friend recommendations. Company media itemrecommendations are typically programmatically provided, meaning theyare provided based on a programmed methodology, algorithm, or otherscheme. For example, company provided media item recommendations may beprovided based on a holistic classification of assigning ratings toattributes of the user's media collection. Alternatively, company mediaitem recommendations may be based on a communal approach, whereinrecommendations are based on the collective wisdom of a group of userswith similar tastes by profiling the habits of a particular user andthen searching similar profiles of other users. In either case, companyor programmatically-generated media item recommendations allow the userto be presented with additional recommendations for a greater variety ofmedia options relevant to the user. Companies also benefit in that theymay obtain additional opportunities for revenues generated if the userdesires to purchase a company recommended media item.

The user's client application typically intermingles friend andprogrammatically-generated media item recommendations into the user'smedia collection. The user may desire to separately distinguish friendmedia item recommendations from programmatically-generated media itemrecommendations for ease in browsing and/or selection. However, iffriend media item recommendations are isolated, the user may lose thebenefit of being presented and browsing highly relatedprogrammatically-generated media item recommendations.

A tradeoff may exist. Either the user is presented all media itemrecommendations, both friend and programmatically-generated, forbrowsing and/or selection. Or, the user chooses to only browse one setof media item recommendations thereby losing visual access to the other.The present invention addresses this tradeoff by allowing the user toselect a media item from among a list of friend media itemrecommendations while at the same time automatically and associativelybeing presented a separate list of related, programmatically-generatedmedia item recommendations to the selected media item. In this manner,the user can browse and select friend media item recommendations whileat the same time being presented with automatically updated,programmatically-generated related media item recommendations.

SUMMARY OF THE INVENTION

The present invention is a system and method for automatically andprogrammatically generating media item recommendations for visualdisplay on a graphical user interface (GUI) based on a user-selectedfriend media item recommendation. The GUI allows a user to browsethrough a stream or list of friend media item recommendations, with themost recent media selection by the user being placed in a highlightedfocus area on the GUI. The friend media item recommendation list isvisually displayed adjacent the focus area by order of relation orlikeness to the selected media item recommendation in the focus area onthe GUI. A separate stream or list of programmatically-generated mediaitem recommendations is automatically generated and visually displayedadjacent the focus area also by order of relation or likeness to theselected media item recommendation in the focus area on the GUI. In thismanner, the user can browse friend media item recommendations, while atthe same time being automatically presented with updated andprogrammatically-generated media item recommendations most closelyrelated to the selected media item recommendation in the focus area ofthe GUI. This allows the user to easily and visually identify, browse,and/or select the most related or closest in likeness, but alternativemedia item selections to the selected media item recommendation in thefocus area of the GUI at anytime.

In a main exemplary embodiment of the present invention, friend mediaitem recommendations are displayed in a series of media item icons in afriend media item recommendation list visually displayed in a horizontalaxis on each side of the selected media item in the focus area of theGUI. The friend media item recommendations most closely related bylikeness to the selected media item are displayed in icons immediatelyproximate on both sides of the focus area. The less closely relatedfriend media item recommendations are displayed in icons farther awayand in descending relational order from the selected media item in thefocus area in the horizontal axis. In this manner, the user may traversethe icons in the friend media item recommendation list in order ofrelevance to the selected media item in the focus area in a first axis.

As the user horizontally traverses the friend media item recommendationlist and selects icons representing different media item recommendationsto be displayed in the focus area, a programmatically-generated mediaitem recommendation list is automatically generated. Theprogrammatically-generated media item recommendation list is a stream oficons visually located and displayed in a vertical axis intersecting thefocus area on the GUI. Like the friend media item recommendation list,the most closely related media items by likeness to the user-selectedmedia item, among the programmatically-generated media itemrecommendation list, are displayed in icons immediately proximate on thetop and bottom sides of the focus area. The less closely relatedprogrammatically-generated media item recommendations are displayed inicons farther away in descending relational order from the highlightedarea in the vertical axis.

In this manner, the user is automatically and visually provided withadditional programmatically-generated media item recommendations relatedto friend media item recommendations selected for the focus area in anopposing axes. The user can, at any time, easily switch from one axis tothe other, to traverse between the friend media item recommendation listand the programmatically-generated media item recommendation list,wherein each traverse provides the next most relevant media itemrecommendation in its list to the currently selected media item in thefocus area.

The user can also simply place or roll their mouse over a particularmedia item of interest in either list on the GUI. Additional informationabout the media item is exposed in a separate window on the GUI as aresult to allow the user to easily consider the potential selection. Ifthe user clicks the mouse when the cursor is on top of a media itemselection not in the focus area, the media item selected will be movedto the focus area. The other media items in the lists are shifted.Optionally, the friend recommendation media item list may be reorderedbased on a determined closest or likeness relationship of the selectedprogrammatically-generated media item to the media items among thefriend media item recommendations.

Any relational model, including a relational or likeness scoring model,may be employed by the present invention to determine the most closelyrelated or most alike friend media item recommendations and theprogrammatically-generated media item recommendations to the selectedmedia item recommendation in the focus area. A model may be used to rankthe lists by likeness, where the media item recommendations locatedimmediately adjacent the focus area were determined to be most like theselected media item recommendation. Likeness or lack thereof can also bemeasured in terms of distance. The friend media item recommendations maybe relationally determined or scored to determine their relational orderto the selected media item recommendation when displayed on the GUI in afriend media item recommendation list. The relational scoring may alsobe based in part on the user's preferences, which may be configured bythe user using a client application to provide preferences forweightings for attributes that go to determining relation or likeness.This client application may also control displaying and updating therecommendation lists on the GUI.

Those skilled in the art will appreciate the scope of the presentinvention and realize additional aspects thereof after reading thefollowing detailed description of the preferred embodiments inassociation with the accompanying drawing figures.

BRIEF DESCRIPTION OF THE DRAWING FIGURES

The accompanying drawing figures incorporated in and forming a part ofthis specification illustrate several aspects of the invention, andtogether with the description serve to explain the principles of theinvention.

FIG. 1 illustrates a graphical user interface (GUI) providing a userselected media item in a focus area and providing related friend andprogrammatically-generated media item recommendation lists in differentaxes intersecting with the focus area;

FIG. 2 is a flow chart illustrating the basic operation of oneembodiment of the present invention for providing and displaying friendand programmatically-generated media item recommendations in opposingaxes on a GUI, and automatically updating the selected media item andthe associated, and related according to likeness, recommendationsdisplayed on the GUI when a new media item selection is made by theuser;

FIG. 3 is a chart illustrating one embodiment of how a likeness distancerating or score may be determined to control the relational order offriend and programmatically-generated media item recommendation listsdisplayed on the GUI;

FIG. 4 illustrates an example of a media client application executing ona user's device for displaying a user's media collection includingstored media item recommendations that may be used to provide therecommendation lists on the GUI;

FIGS. 5A and 5B are flowcharts illustrating a more detailed operation ofone embodiment of the present invention for providing and displaying aselected media item recommendation and related friend andprogrammatically-generated media item recommendations in opposing axeson a GUI, and automatically updating the selected media item and theassociated, and related according to likeness, recommendation listdisplayed on the user interface when a new media item selection is madeby a user;

FIG. 6 illustrates a user-server system for providing and receivingfriend media item recommendations, for determining and receivingprogrammatically-generated media item recommendations, and fordisplaying related recommendations on a GUI to a user;

FIG. 7 is an exemplary communication flow diagram between user devicesand a server illustrated in FIG. 6 for receiving friend media itemrecommendations to determine and automatically provideprogrammatically-generated media item recommendations for displaying toa user on a GUI in accordance with the present invention;

FIG. 8 is a flowchart illustrating one embodiment of a relational ordistance scoring model, wherein a user's preferences are used toinfluence attributes used in the relational scoring model; and

FIG. 9 illustrates an exemplary GUI for assigning weights to variouscategories of media items as part of configuring the user preferences toinfluence the relational scoring model.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

The embodiments set forth below represent the necessary information toenable those skilled in the art to practice the invention and illustratethe best mode of practicing the invention. Upon reading the followingdescription in light of the accompanying drawing figures, those skilledin the art will understand the concepts of the invention and willrecognize applications of these concepts not particularly addressedherein. It should be understood that these concepts and applicationsfall within the scope of the disclosure and the accompanying claims.

The present invention is a system and method for automatically andprogrammatically generating media item recommendations for visualdisplay on a graphical user interface (GUI) based on a user-selectedfriend media item recommendation. The GUI allows a user to browsethrough a stream or list of friend media item recommendations, with themost recent media selection by the user being placed in a highlightedfocus area on the GUI. The friend media item recommendation list isvisually displayed adjacent the focus area by order of relation orlikeness to the selected media item recommendation in the focus area onthe GUI. A separate stream or list of programmatically-generated mediaitem recommendations is automatically generated and visually displayedadjacent the focus area also by order of relation or likeness to theselected media item recommendation in the focus area on the GUI. In thismanner, the user can browse friend media item recommendations, while atthe same time being automatically presented with updated andprogrammatically-generated media item recommendations most closelyrelated to the selected media item recommendation in the focus area ofthe GUI. This allows the user to easily and visually identify, browse,and/or select the most related or closest in likeness, but alternativemedia item selections to the selected media item recommendation in thefocus area of the GUI at anytime.

In a main exemplary embodiment of the present invention, friend mediaitem recommendations are displayed in a series of media item icons in afriend media item recommendation list visually displayed in a horizontalaxis on each side of the selected media item in the focus area of theGUI. The friend media item recommendations most closely related bylikeness to the selected media item are displayed in icons immediatelyproximate on both sides of the focus area. The less closely relatedfriend media item recommendations are displayed in icons farther awayand in descending relational order from the selected media item in thefocus area in the horizontal axis. In this manner, the user may traversethe icons in the friend media item recommendation list in order ofrelevance to the selected media item in the focus area in a first axis.

As the user horizontally traverses the friend media item recommendationlist and selects icons representing different media item recommendationsto be displayed in the focus area, a programmatically-generated mediaitem recommendation list is automatically generated. Theprogrammatically-generated media item recommendation list is a stream oficons visually located and displayed in a vertical axis intersecting thefocus area on the GUI. Like the friend media item recommendation list,the most closely related media items by likeness to the user-selectedmedia item, among the programmatically-generated media itemrecommendation list, are displayed in icons immediately proximate on thetop and bottom sides of the focus area. The less closely relatedprogrammatically-generated media item recommendations are displayed inicons farther away in descending relational order from the highlightedarea in the vertical axis.

In this manner, the user is automatically and visually provided withadditional programmatically-generated media item recommendations relatedto friend media item recommendations selected for the focus area in anopposing axes. The user can, at any time, easily switch from one axis tothe other, to traverse between the friend media item recommendation listand the programmatically-generated media item recommendation list,wherein each traverse provides the next most relevant media itemrecommendation in its list to the currently selected media item in thefocus area.

An example of a GUI for displaying friend and programmatically-generatedmedia item recommendation lists according to the present invention isillustrated in FIG. 1. Reference to the flowchart illustrated in FIG. 2is also made where relevant to the description of the GUI illustrated inFIG. 1. As illustrated in FIG. 1, the GUI may be comprised of a mediaitem recommendation window or screen 10 that contains severalcomponents. For instance, the window 10 may contain a banner area 12 atthe top of the window 10 for displaying information about theapplication, such as a program code name 14. The program code name 14may be user configurable. A menu bar 16 may provide one or more userselectable menus 18, 20, 22, 24 provided to allow the user to selectdifferent display options in the window 10, and/or navigate betweendifferent screens within the window 10 for providing media item relatedfunctions. FIG. 1 illustrates a “Nodes” menu 18 being selected, which isthe display type displayed in the window 10 in FIG. 1. The “Nodes” menu18 is selected by the user in the illustrated example for displaying thefriend and programmatically-generated media item recommendations on theGUI in accordance with the present invention.

The friend and programmatically-generated media item recommendations aredisplayed in a main display area 26 in the window 10. In the illustratedembodiment, the media items displayed are audio or track media items.However, the media items are not limited to audio media items, and maybe video, audio/visual, presentations, or any other type of mediacontent. A currently selected media item recommendation 27 by the useris displayed in a focus area 28, which is centered in the window 10 inthe exemplary embodiment (step 66, FIG. 2). The currently selected mediaitem recommendation 27 remains in the focus area 28 until another mediaitem is selected by the user. In the illustrated example, the selectedmedia item recommendation 27 is a track from the album “Colin Hay.” Moreinformation about the selected media item recommendation 27 is displayedin an information window 30 within the main window 10. Media iteminformation 32 is displayed about the selected media item recommendation27. For example, the album name, the recommended track, the producer,the year released, and the genre may be displayed along with a thumbnail34 of the selected media item recommendation 27.

Audio play controls may be provided in an audio play control window 36within the main window 10 to allow a user to control playing of theselected media item recommendation 27 in the focus area 28. The name ofthe media item recommendation track is provided in a name field 38. Theuser that recommended the media item recommendation track is located ina recommended user field 40. In this manner, the user can see the nameof the “friend” that recommended the selected media item recommendation27. A volume control 42, play controls 44 (typically consisting offorward, reverse, and pause), and a progress bar 48 indicating where inthe total duration of the media item and where in the track play iscurrently occurring, may also be provided as illustrated in FIG. 1.

In this exemplary embodiment, friend media item recommendations aredisplayed in a friend media item recommendation list 50, which isdisplayed adjacent to the focus area 28 in a horizontal axis in theillustrated example (step 68, FIG. 2). The friend media itemrecommendation list 50 is comprised of a plurality of friend media itemrecommendations represented by icons 52. The entire friend media itemrecommendation list 50 may not be fully illustrated due to window 10size limitations. In the illustrated example, the friend recommendationicons 52 are album covers representing various albums. The actual friendmedia item recommendations 52 are tracks on albums.

The user can traverse the friend media item recommendations 52 inseveral manners. If the user desires to traverse among the friend mediaitem recommendations 52, the user can select either a left arrow 54 or aright arrow 56 located in the focus area 28. In response, the friendmedia item recommendation list 50, represented by the icons 52 in theillustrated example, is shifted right or left, respectively, in thewindow 10. In this manner, the user is able to visually traverse throughthe friend media item recommendations 52 as desired. If the user shiftsthe friend media item recommendation list 50 enough times in onedirection, previously unseen friend media item recommendation icons 52that could not originally fit within the list 50 in the window 10 willappear, since the friend media item recommendation list 50 is shiftedlinearly.

If the user desires to select a particular friend media itemrecommendation 52 from the friend media item recommendation list 50, theuser clicks their mouse while the cursor is located over top the mediaitem 52 (step 72, FIG. 2). The media item 52 selected is immediatelymoved to the focus area 28 as providing the currently selected mediaitem recommendation 27. The friend media item recommendation list 50 isalso automatically shifted and/or reordered in the horizontal axis sothat the media items icons 52 are maintained in their relational orderby most closely related or closest in likeness to the selected mediaitem recommendation 27 in the focus area 28. The friend media itemrecommendations 52 are displayed in relational order to each other andto the selected media item recommendation 27 according to a scoringsystem or model, as will be described later in this application. Themost closely related friend media items recommendations 52 to theselected media item recommendation 27 are displayed immediatelyproximate to the selected media item recommendation 27. The next closelyrelated media item recommendations 52 are displayed farther away fromthe focus area 28 in descending order of relation. In this manner, theuser knows that each traversal through the friend media itemrecommendations 52 in the list 50 is displaying the next most relatedmedia item recommendation 52 to the selected media item recommendation27.

If the user simply wants to find out more information about a particularfriend media item recommendation 52 without browsing or selecting themedia item 52, the user can also hold their mouse icon over the desiredfriend media item recommendation icon 52. In response, a pop-up window(not shown) will appear in window 10 to provide identifying information,such as in the example of song media items, the album name, therecommended track name, the producer, the year released, and the genre.

In the exemplary embodiment and in response to an initial or userselected friend media item recommendation 52, programmatically-generatedmedia item recommendations are automatically generated and displayed inthe window 10 according to a scored relation to the selected media itemrecommendation 27 displayed in the focus area 28 (step 70, FIG. 2). Theprogrammatically-generated media item recommendations are displayed in aprogrammatically-generated media item recommendation list 58, which isdisplayed adjacent the focus area 28 in a vertical intersecting axis tothe focus area 28 in the illustrated example. In this manner, the useris automatically and visually provided with additionalprogrammatically-generated media item recommendations 60 most closelyrelated or closest in likeness to the selected media item recommendation27 according to a relational model. In this embodiment, theprogrammatically-generated media item recommendation list 58 isdisplayed in an opposing axis to the friend media item recommendationlist 50. The programmatically-generated media item recommendation list58 intersects the currently selected media item recommendation 27 asdoes the friend media item recommendation list 50 such that both lists50, 58 can easily be traversed by a user in the window 10.

Similar to the friend media item recommendation list 50, theprogrammatically-generated media item recommendation list 58 iscomprised of individual programmatically-generated media items 60, shownin the form of icons, that are automatically generated and associativelydisplayed according to a closest relation or closest likeness to theselected media item recommendation 27 in the focus area 28. Aprogrammatically-generated media item recommendation 60 is simply amedia item recommendation that was not received by a “friend,” butinstead algorithmically generated according to a relational orassociative algorithm in order to provide other relevant and closelyrelated media item recommendations 60 to the currently selected mediaitem recommendation 27 for the user in addition to friend media itemrecommendations 52.

An algorithm, program, or other scheme may be employed to determine themost closely related or closest by likeness media items to the currentlyselected media item recommendation 27 to form theprogrammatically-generated media item recommendation list 58. One methodof determining relation or likeness between a media item recommendation52, 60 and the currently selected media item recommendation 28 is bydetermining the difference in the two in terms of “distance.” Forexample, a distance of nothing or ‘0’ means no difference, or the samemedia item. A higher distance rating exhibits a greater degree ofdifference or less likeness than a lower distance rating. The lessdistance between two media items, the more closely related they are.Attributes are selected that are representative of distance or likeness.

The media items are then compared for distance by comparing the degreeof differences between their respective attributes. FIG. 3 illustratesan example of a distance rating system.

As illustrated in FIG. 3, a number of attributes may be selected tojudge likeness or distance between two media items. In the example of asong media item in particular, these attributes for determining likenessmay be, for example, the media item's:

-   -   Artist    -   Release Year    -   Genre    -   Content Distributor (label)    -   Composer    -   Encoding Time    -   Parental Rating    -   Producer    -   BeatsPerMinute    -   Conductor    -   InitialKey    -   Lyrics    -   Mood    -   Publisher    -   Recommender

The attributes may be aligned in a distance chart along both of itsaxes. A distance rating would be filled into a table entry based on thedistance between the two attributes intersecting the table entry. Alower rating indicates less distance, or greater likeness, between twogiven attributes in a table entry between the two song media items. So,determining the distance, and thus the likeness, between two song mediaitems could be a summation of the distance between the individualattributes provided in the model, or table in the example of FIG. 3. Theactual attributes used in the model could be any attributes that aredesignated as being related to relation or likeness, and could includethe attributes listed above by example, or any other attributes desired.

With regard to the present invention, a distance rating like that orsimilar to the one described above may be employed to determine theorder of media item recommendations 60 visually displayed for theprogrammatically-generated media item recommendations list 58, with themedia item recommendations 60 having the lowest distance rating beinglocated immediately adjacent or proximate both sides of the currentlyselected media item recommendation 27 in the focus area 28. The nextclosest in distance or next less closely relatedprogrammatically-generated media item recommendations 60 are displayedin icons 52 farther away in descending relational or distance order fromthe selected media item recommendation 27. In this manner, the user isautomatically and visually provided with additional,programmatically-generated media item recommendations 60 most closelyrelated or closest in likeness to the selected media item recommendation27. The user can, at any time, easily switch from one axis to the otherto traverse between the friend media item recommendation list 50 and theprogrammatically-generated media item recommendation list 58, whereineach traversal provides the next most relevant media item recommendation52, 60 in its list 50, 58 to the currently selected media itemrecommendation 27 in the focus area 28.

Similar to the friend media item recommendation list 50, the user cantraverse the programmatically-generated media item recommendation list58 in several manners. If the user desires to traverse among theprogrammatically-generated media item recommendations 60, the user canselect either an up arrow 62 or a down arrow 64 located in the focusarea 28. In response, the programmatically-generated media itemrecommendation list 58, represented by the icons 60 in the illustratedexample, is shifted up or down, respectively, in the window 10. The useris able to visually traverse through the programmatically-generatedmedia item recommendations 60 according to their desire. If the usershifts the programmatically-generated media item recommendation list 58enough times in one direction, previously unseenprogrammatically-generated media item recommendation icons 60 that couldnot originally fit within the list 58 in the window 10 will appear,since the programmatically-generated media item recommendation list 58is shifted linearly.

Similar to the friend media item recommendation list 50, if the userdesires to select a particular media item 60 from theprogrammatically-generated media item recommendation list 58, the userclicks their mouse while the cursor is located over top the desiredmedia item 60 for selection (step 72, FIG. 2). A media item 60 selectedis immediately moved to the focus area 28. Theprogrammatically-generated media item recommendation list 58 is alsoautomatically shifted and/or reordered in the vertical axis so that themedia items icons 60 are maintained in their proper relational orderwith respect to each other and the selected media item recommendation 27in the focus area 28. The programmatically-generated media itemrecommendations 60 are displayed in relational order to each otheraccording to a most closely related scoring system or model, as will bedescribed later in this application. The most closely relatedprogrammatically-generated media items recommendations 60 to theselected media item recommendation 27 by likeness are displayedimmediately proximate to the selected media item recommendation 27, withthe next most closely relevant programmatically-generated media itemrecommendations 60 displayed farther away in descending order ofrelation. In this manner, the user knows that each traversal through theprogrammatically-generated media item recommendation list 58 isdisplaying the next most closely related media item 60 to the currentlyselected media item recommendation 27.

In the preferred embodiment, the friend recommendation media item list50 is not reordered if the user selects a programmatically-generatedmedia item 60 to be displayed as the selected media item recommendation27 in the focus area 28. In an alternative embodiment, the friendrecommendation media item list 50 is reordered based on its likenessrelation to the selected programmatically-generated media itemrecommendation 27 in the focus area 28.

In summary, FIG. 1 provides a GUI that visually displays a selectedmedia item recommendation 27 in a focus area 28. Friend media itemrecommendations are provided in a series or list that are displayed in afirst adjacent area or axis in order or closest relation or likeness tothe selected media item recommendation 27. Friend media itemrecommendations 52 most closely related to or like the selected mediaitem recommendation 27 in the focus area 28 are displayed in iconsimmediately proximate on both sides of the focus area 28. Less closelyrelated friend media item recommendations 52 are displayed in iconsfarther away in descending relational order from the focus area 28 inthe horizontal axis. In this manner, the user can traverse the icons 52in the friend media item recommendation list 50 in order of scoredrelationship to the selected media item recommendation 27 in the focusarea 28.

As the user horizontally traverses the friend media item recommendationlist 50 and selects icons 52 representing different media itemrecommendations 27 to be displayed in the focus area 28, theprogrammatically-generated media item recommendation list 58 isautomatically generated. The programmatically-generated media itemrecommendation list 58 is a stream of icons 60 visually located anddisplayed in a different, such as vertical, axis intersecting the focusarea 28 on the GUI. Like the friend media item recommendation list 50,the closest related or most like media items, among theprogrammatically-generated media item recommendation list 58, to theselected media item recommendation 27 in the focus area 28 are displayedin icons immediately proximate on both sides of the focus area 28. Theless closely related, programmatically-generated media itemrecommendations 60 are displayed in icons farther away in descendingrelational order from the focus area 28 in the vertical axis.

In this manner, the user is automatically and visually provided withadditional programmatically-generated media item recommendations 60related to the friend media item recommendations 52 selected for thefocus area 28 in an opposing axis. The user can, at any time, easilyswitch from one axis to the other, to traverse between the friend mediaitem recommendation list 50 and the programmatically-generated mediaitem recommendation list 58, wherein each traversal provides the nextmost closely related media item recommendation in its list 50, 58 to thecurrently selected media item recommendation 27 in the focus area 28.Note that the media item recommendation lists 50, 58 can be visuallydisplayed in any area adjacent the focus area 28 and are not limited tobeing displayed in axes, including horizontal and vertical axesrespective to the focus area 28.

FIG. 4 illustrates an example of an alternative media item display tothe “Nodes” display menu selection 18 in FIG. 1. This view may beprovided by a GUI to display media items in the user's collection,including recommended media items, in a table format to illustrate howmedia item recommendations are typically scored when the user'scollection is not displayed in the “Nodes” view. The media item table inFIG. 4 illustrates how media item recommendations may be displayed tothe user prior to the novel display system and method provided by thepresent invention.

As illustrated in FIG. 4, a main media collection page or window 80 isprovided. The current media item being played by the user is shown in acurrently playing box 82. In this example, the media items are music orsongs. The current media item being played may be the initial selectedmedia item recommendation 27 displayed in the focus area if the userwere to switch from the media collection window 80 to the “Nodes” view,via “Nodes” menu 18, for example. User controls 84 are provided to allowthe user to control an audio/video (A/V) player, such as reversing,forwarding, and playing selected items. A volume slide control 86 isalso provided to allow the user to control the volume of an A/V player.

Media items that are either populated from a server, or from the user'sA/V collection, or both and sent to the client application are listed ina media item table 88. The media item table 88 is a music item table 88and consists of numerous columns that provide key information about themedia items to the user. A title column 90 provides the title of themusic item. A time column 92 provides the length or duration of themusic item when played. An artist column 94 provides the artist of themusic item. An album column 96 provides the name of the album the songwas included on. A score column 98 provides a score in terms ofimportance to the user according to their user preferences stored as aresult of the registration process and/or determined by a server basedon the owned media items in the user's A/V collection. This scoreillustrated in score column 98 is typically different than therelational score used to display media items in a “Nodes” view, likeillustrated in FIG. 1. For example, the track “Looking for Jack” byColin Hay, which was recommended by user “Jen365” has the highest scoreof “92” based on the user's preferences fed into the scoring model.

A genre column 100, a year column 102, a received time and date column104, and a played column 106 provide the genre type, the year ofrelease, the date and time of receipt, and the date and time of the lastplay of the music item, respectively. A scroll bar 108 is available forthe user to scroll up and down through their song items.

A recommender column 110 contains a user id or name of the person orfriend that recommended the media item to the user. The user canestablish a list of friends that are able to provide friendrecommendations as disclosed in U.S. patent application Ser. No.11/484,130 entitled “P2P NETWORK FOR PROVIDING REAL TIME MEDIARECOMMENDATIONS,” previously referenced above. The user is able tonavigate the media item table 88 by “point and click” to play items,download items, and request content from a server and/or other sources.

The flow charts in FIGS. 5A and 5B illustrate another embodiment of thehow the present invention may be performed. For example, the process isillustrated starting from when a user initially selects the “Nodes” menu18, as in the example of FIG. 1, to display the friend andprogrammatically-generated media item recommendation lists 50, 58 indifferent axes. Further, an exemplary process by which the friend andprogrammatically-generated media item recommendation lists 50, 58 areupdated when a user makes a new media item recommendation selection todisplay as the currently selected media item recommendation 27 in thefocus area 28 is set forth.

As illustrated in FIG. 5A, the process starts (step 110), and mediaitems are displayed in the media item table 88 on the GUI withrecommendation scoring information calculated and provided (step 112).The user is able to browser through the media items, including thefriend media item recommendations 52, in the media item table 88 (step114). The user then selects a specific friend media item recommendation52 of interest from the media item table 88 on the GUI (step 116). Inorder for the user to change the GUI to the “Nodes” display format, anexample of which is illustrated in FIG. 1, the user may select a “Nodes”view or menu 18 (step 118). In this manner, the media item selected bythe user from the media item table 88 is displayed is the initialselected media item recommendation 27 displayed in the focus area 28(step 120) on the GUI.

Next, the friend media item recommendations 52 having the closestdistance or likeness scores to the selected media item recommendation 27are displayed immediately proximate to the focus area 28 (step 122). Thenext closest or closest in likeness or distance friend media itemrecommendations 52 are displayed next, and so on, until the friend mediaitem recommendation list 50 is displayed in the main window 10 (step122). Other media item recommendations 60 related to the selected mediaitem recommendation 27 in the focus area 28 areprogrammatically-generated and displayed in different or opposingvertical axis to the friend media item recommendation list 50 andintersecting the focus area 28 based on a relational scoring system. Thescoring system identifies the closest related programmatically-generatedmedia item recommendations 60, as previously described (steps 124,126).

If a new media item recommendation selection is made by the user, fromone of the recommendation lists 50, 58 in the window 10 (decision 128),the process continues to FIG. 5B, where it is determined if theselection is from the friend media item recommendation list 50 or theprogrammatically-generated media item recommendation list 58 (decision130). If from the programmatically-generated media item recommendationlist 58, the programmatically-generated selected item 60 is moved to thefocus area 28, and the programmatically-generated media itemrecommendations 60 are shifted accordingly (step 132). Optionally, asdiscussed above, the friend media item recommendation list 50 may bereordered to display friend media item recommendations 52 having theclosest relational score or likeness to the selectedprogrammatically-generated media item recommendations 60 selected forthe focus area 28 (step 134).

If, in decision 130, a friend media item recommendation 52 is selectedby the user from the friend media item recommendation list 50, theselected friend media recommendation item 52 is moved to the focus area28 (step 134).

The friend media item recommendation list 50 is shifted accordingly(step 136). A new programmatically-generated media item recommendationlist 58 is generated based on the new closest in likeness determinationbetween the selected friend media item recommendation 27 and theprogrammatically-generated media item recommendations 60 (step 138). Theprogrammatically-generated media item recommendations 60 may be updatedlocally at a client application, or remotely at a server or other peerdevice. After any of the recommendation lists 50, 58 are updated basedon new most closely related determinations between the friend and/orprogrammatically-generated recommendations 52, 60 to the user-selectedmedia item recommendation 27, the user-selected media itemrecommendation 27 and both recommendation lists 50, 58 are displayed bythe GUI (steps 140, 142, 144). If the user exits the “Nodes” view in theGUI (decision 146), the process repeats, such as for example by the GUIdisplaying the media collection window 80 as illustrated in FIG. 4, byreturning back to step 112 in FIG. 5A. If the user does not exit the“Nodes” view in the GUI (decision 146), the process returns back todecision 130 to await a new media item recommendation selection by theuser.

In order to receive friend media item recommendations 52, the GUI isexecuted on a user device that is coupled to a network to other frienduser devices and/or a server(s). In this manner, friend recommendationscan be received from others. In addition, it may be desired to determineand/or provide the programmatically-generated media item recommendations60 from an offsite system, such as from a server, proxy server,networked peer device, and/or a remote database. In this regard, FIG. 6illustrates an exemplary media item recommendation system 150. One ormore user devices 152 are illustrated as networked computing devicesemployed by a user to use and/or play media items, including friend andprogrammatically-generated media item recommendations 52, 60. FIG. 6illustrates a plurality of user devices 152, namely user devices 152A,152B, 152C, and up through including any number of user devices to 152N.The user devices 152 provide the GUI to the user as well as a networkeddevice to receive friend and programmatically-generated media itemrecommendations 52, 60 from other devices and/or systems.

The user devices 152 typically contain a web browser and/or clientapplication 154 to provide the GUI to the user. A recommendation engine156 may be provided to handle recommendation related processing, such asthe operations provided by the present invention. An A/V player 158 maybe provided to allow the user to play and/or use media items, includingrecommendations. Lastly, the user devices 152 may include their own A/Vcollection 160, comprising media items either stored locally oraccessible from a remote system over a network 162, such as theInternet, which is a TCP-IP based network.

The web browser or client application 154 can establish a connectionover the network 162 to a central/proxy server 164. The server 164 canbe any type of computing device that is coupled to the network 162.Examples of user devices 152 that may be used to access the server 164and/or other users over the network 162 include, but are not limited to,personal computers, wireless portable media players (PMPs), personaldigital assistants (PDAs), and the like.

The server 164 may be comprised of several components to facilitate userconnections and provide media related services. These components may becomprised of a web component 166, a market component 168, and a servercomponent 170. The server component 170 may also provide an applicationprogram interface (API) 172 to provide a downloadable client applicationto the user devices 152 for interfacing, ordering, and receiving mediarelated services from the server 164 after an initial session isestablished between a user device 152 and the server 164 via the webbrowser 154, for example. A database 174 may be located on location atthe server 164 for storage of data, including but not limited to mediaitems and information relating to friend and/orprogrammatically-generated media item recommendations 52, 60. A networkaccessible database 174′ may also be utilized to provide storagecapabilities remote from the server 164 and/or as backup data storage,if desired.

Some media items requested and/or recommended that need to be accessedmay not be stored locally in the server database 174 or the networkdatabase 174′, but rather obtained from subscription services 176 vianetwork 162 access on-demand. In this regard, network accessiblesubscription services 176 may be provided for user devices 152 to accessmedia items for downloading. The server 164 and/or the user devices 152may access the subscription services 176 over the network 162. Further,the server 164 and/or the user devices 152 can communicate over thenetwork 162 with content identification systems 178 to provideidentifying and other characteristic information about media items, suchas information regarding artists, song titles, genre, etc. in theexample of song content in particular. This information may be used toprovide the media item information 32 for the selected media itemrecommendation 27 displayed in the focus area 28, as illustrated inFIG. 1. The allows access to user friendly information about media itemsas part of the services provided by the server 164 and/or the userdevices 152. The identification systems 178 may be coupled with orcontain content descriptors 180 that are compared to media items toidentify and provide information regarding media items. For an exampleof songs in particular, the descriptors 180 may include knownfingerprints and/or Global Unique IDs (GUIDs) to identify songs andobtain metadata containing information about the songs, such as title,artist, genre, etc. A uniform resource locator (URL) may be included toidentify location(s) for the descriptor information.

FIG. 7 illustrates an exemplary communication flow diagram that may beemployed by the media item recommendation system 150 illustrated in FIG.6. The process may be used to send friend media item recommendations 52as a precursor for a user receiving the media item recommendations toemploy the present invention. In this regard, a first user may play amedia item on their user device 152A using their A/V player 158A (step200). The media item played may then be selected to be recommended toanother friend user (step 202). The user device 152A sends the mediaitem recommendation to the server 164 or peer device (step 204) destinedfor a recipient. The media item recommendation is then forwarded to therecipient friend, which is user device 152N in the illustrated example(step 206). Thereafter, the media item recommendation can be displayedby the user in the media item table 88, such as illustrated in FIG. 4(step 208). The user may cause the GUI executing on the user device 152Nto enter the “Nodes” display mode, as illustrated by example in FIG. 1(step 210).

Next, the friend media item recommendation list 50 may be determined anddisplayed according to the closest likeness or relation to the selectedmedia item recommendation 27 (step 212). The programmatically-generatedmedia item recommendation list 58 is then requested offsite from theserver 164 or from a peer device as examples, as an optional step (step214). This is because the programmatically-generated media itemrecommendations 60 may not be provided locally at the user device 152N,and may be determined by a relational likeness or distance determinationsystem or algorithm provided by another system on-demand, as needed. Ifrequested, the results are returned (step 216), and the GUI displays theselected media item recommendation 27 in the focus area 28, with thefriend media item recommendation list 50 displayed in a firstintersecting axis and the programmatically-generated media itemrecommendation list 58 provided in a second intersecting axis, aspreviously described above and illustrated in FIG. 1 (step 218).

FIG. 8 is a flow chart illustrating an alternative embodiment of how alikeness or distance score may be assigned to media item recommendations52, 60 in order to provide an ordered friend media item recommendationlist 50 for the present invention. In this embodiment, the model isbased in part on user-defined preferences for choosing or weighingattributes regarding media items. Other methods may be employed, and thepresent invention is not limited to use of user preferences fordetermining or weighting media item attributes. As discussed above, alikeness or distance model or algorithm is employed to order a users'friend media item recommendations 52 for browsing and/or selection. Inthis manner, the user can browse through friend media itemrecommendations 52 in order or likeness. In response to selection of afriend media item recommendation 52, programmatically-generated mediaitem recommendations 60 are scored by likeness and generated based onclosest relation or likeness to the selected media item recommendation27 for display in a different axis from the friend media itemrecommendation list 50.

Turning to FIG. 8, the user preferences are obtained (step 230). Thefriend media item recommendations 52 received previously by the userfrom friends are scored for likeness based in part on the user'spreferences for attributes used in the model (step 232). The likeness ordistance is stored, typically at the user device 152, for use by theclient application when needed, such as when providing the features ofthe present invention (step 234). If a new media item recommendation isreceived (decision 236), the process may be repeated to determine thelikeness or distance of the media item recommendations 52, 60 since anew received media item recommendation could alter the order of themedia item recommendations 52, 60. If a raw likeness score is used toscore media item recommendations 52, 60, the process may not need to becompletely repeated, but only the newly received media itemrecommendation be scored to determine if the recommendations 52, 60should be reordered.

FIG. 9 is an example of a GUI 320 where a user can select the desiredweights of certain media item attributes that may be used to determinelikeness between two media items by adjusting corresponding sliding bars322-330. Once the weights are assigned, the user may select an OK button332 to store the weighting of the media item attributes, or select aREVERT button 334 to return the weights of the categories to theirprevious or default settings. In addition, the user may select a SUGGESTFROM PROFILE button 336 to have the recommendation engine 156 or server164 suggest weights for the categories based on a user profile.

It should be noted that the term “relation” in the present invention ismean to represent relation between two media items, whether that bebased on likeness, distance, or any other relation. The term “relation”is meant to encompass any of these alternative phraseologies to comparemedia item recommendations in accordance with the present invention.These terms are used interchangeably to set forth the concept ofdetermining the most closely related or most closely alike media itemsaccording to whatever model or scoring system is employed. The presentinvention is not limited to any particular model or scoring system. Anynumber of different attributes, which may or may not be influenced by auser's preferences or selections, may be used, and still be within thescope and spirit of the present invention.

Those skilled in the art will recognize improvements and modificationsto the preferred embodiments of the present invention. All suchimprovements and modifications are considered within the scope of theconcepts disclosed herein and the claims that follow.

What is claimed is:
 1. A method for providing social andprogrammatically-generated media item recommendations to a user on auser interface, comprising the steps of: receiving a social media itemrecommendation list comprising one or more social media itemrecommendations; receiving a programmatically-generated media itemrecommendation list comprising one or more programmatically-generatedmedia item recommendations; displaying the social media itemrecommendation list in a first area on the user interface; anddisplaying the programmatically-generated media item recommendation listin a second area on the user interface different from the first area. 2.The method of claim 1, wherein the first area is a first axis, and thesecond area is a second axis.
 3. The method of claim 2, wherein thesocial media item recommendation list in the first axis intersects thefocus area on the user interface.
 4. The method of claim 2, wherein theprogrammatically-generated media item recommendation list in the secondaxis intersects the focus area on the user interface.
 5. The method ofclaim 1, wherein the first area is a first adjacent area to the focusarea, and the second area is a second adjacent area to the focus area.6. The method of claim 1, wherein displaying theprogrammatically-generated media item recommendation list furthercomprises displaying an icon list on the user interface graphicallyrepresenting the one or more programmatically-generated media itemrecommendations.
 7. The method of claim 1, wherein displaying the socialmedia item recommendation list further comprises displaying an icon liston the user interface graphically representing the one or more socialmedia item recommendations.
 8. The method of claim 1, further comprisinggenerating the programmatically-generated media item recommendation listcomprises determining the relation of a set of media itemrecommendations to a user-selected media item recommendation.
 9. Themethod of claim 8, wherein the relation is determined by determining arelation score between the set of media item recommendations and theuser-selected media item recommendation.
 10. The method of claim 8,wherein the most closely related media item recommendations, among theset of media item recommendations, to the user-selected media itemrecommendation are displayed closest to the user-selected media itemrecommendation on the user interface in the programmatically-generatedmedia item recommendation list.
 11. The method of claim 1, furthercomprising determining the relation of the user's social media itemrecommendations to a user-selected media item recommendation.
 12. Themethod of claim 1, further comprising shifting at least one of theprogrammatically-generated media item recommendation list and the socialmedia item recommendation list in response to receiving a user selectionto traverse at least one of the programmatically-generated media itemrecommendation list and the social media item recommendation list on theuser interface on the user interface.
 13. A system providing a mediaapplication for providing social and programmatically-generated mediaitem recommendations to a user on a user interface, comprising: a systemexecuting a media application; wherein the media application is adaptedto: receiving a social media item recommendation list comprising one ormore social media item recommendations; receiving aprogrammatically-generated media item recommendation list comprising oneor more programmatically-generated media item recommendations;displaying the social media item recommendation list in a first area onthe user interface; and displaying the programmatically-generated mediaitem recommendation list in a second area on the user interfacedifferent from the first area.
 14. The system of claim 13, wherein thefirst area is a first axis, and the second area is a second axis. 15.The system of claim 13, wherein the media application is further adaptedto determine the relation of a set of media item recommendations to auser-selected media item recommendation.
 16. The system of claim 15,wherein the media application is further adapted to determine therelation by determining a relation score between the set of media itemrecommendations and the user-selected media item recommendation.
 17. Thesystem of claim 16, wherein the media application is further adapted todisplay the most closely related media item recommendations, among theset of media item recommendations, to the user-selected media itemrecommendation on the user interface in the programmatically-generatedmedia item recommendation list.
 18. A non-transitory computer readablemedium comprising program instructions for providing social andprogrammatically-generated media item recommendations to a user on auser interface, the program instructions for: receiving a social mediaitem recommendation list comprising one or more social media itemrecommendations; receiving a programmatically-generated media itemrecommendation list comprising one or more programmatically-generatedmedia item recommendations; displaying the social media itemrecommendation list in a first area on the user interface; anddisplaying the programmatically-generated media item recommendation listin a second area on the user interface different from the first area.